The present invention relates generally to data processing systems, and in particular, to systems and methods for transmitting and receiving information between such systems across a computer network.
Most modern telecommunications systems utilize some type of modem to package, transmit and receive data a physical medium such as conventional copper telephone lines, fiber optic networks, wireless networks, etc. Generally speaking, a modem is a generic term for any of a variety of modulator/demodulator (hence the term “modem”) devices, which, upon transmission, essentially format digital data signals into signals compatible with the type of network being utilized. In the case of conventional telephone modems, a modem operates to modulate a data signal generated by a computer into an analog format compatible with the PSTN (public switched telephone network). Such modulation may be accomplished in any of a variety of manners, dependent only upon the network protocol as well as the bandwidth capability of the physical medium being used. Examples of modulation techniques may include frequency shift keying (FSK), phase shift keying (PSK), differential phase shift keying (DPSK), and quadrature amplitude modulation (QAM). Essentially, these techniques conduct a bitwise conversion of the digital signal into a corresponding analog signal having a frequency related to the original digital value. In a similar manner to the transmission modulation techniques, modems also operate to receive and demodulate signals back into digital formats readable by a receiving terminal.
As the need for higher speed networks has increased, technology has developed which enables conventional networks to surpass the conventional bandwidth limitations of the PSTN network (i.e., a single 3000 Hz signal transmitted between a user and the phone company's nearest central office (CO)). One such technology generating significant interest is Asynchronous Digital Subscriber Line technology or ADSL. Unlike a conventional modem, an ADSL modem takes advantage of the fact that any normal home, apartment or office has a dedicated copper wire running between it and nearest CO. This dedicated copper wire can carry far more data than the 3,000 hertz signal needed for your phone's voice channel. By equipping both the user and the CO with ADSL modems, the section of copper wire between the two can act as a purely digital high-speed transmission channel having a capacity on the order of 10 Mbps (million bits per second). In essence, an ADSL modem operates to utilize the otherwise unused portion of the available bandwidth in the copper lines, i.e., the bandwidth between 24,000 and 1,100,000 Hz.
Prior to any transmission of actual data between the CO (ATU-C) and the remote computer (ATU-R), the two entities must first undergo a initialization procedure designed to familiarize the two entities with each other, identify the bandwidth capabilities for the current session, and further facilitate the establishment of a valid connection. Pursuant to ADSL standards provided by the International Telecommunication Union—Telecommunication Standardization Sector (ITU-T), these initialization procedures comprise the following: 1) a handshake procedure; 2) a transceiver training session; 3) a channel analysis session; 4) an exchange session; and finally 5) an actual data transmission session referred to as “showtime”.
Relating specifically to the handshake procedure, this procedure is designed to enable peer components to initiate a communications session between each other and generally includes the exchange of several specific types of messages having predetermine formats. Examples of such messages include the following: capabilities list and capabilities list request messages; mode select and mode request messages; various acknowledge and negative acknowledge messages, etc. Each of the above messages is generally formulated by a protocol processor responsible for making sure that the requirements for protocol communication are complied with.
In particular, each handshaking message is formatted into at least one frame comprised of an integer number of octets (groupings of 8 bits), and include at least four flag octets, at least one message octet, and a pair of FCS (frame check sequence) octets. Further, the message portion of the frame may include a plurality of octets such that the total number of octets in the frame cannot exceed 64. Messages exceeding 64 octets will necessarily be segmented across multiple frames, although messages of fewer octets may also be segmented. It is the existence of these segmented, multiple-frame messages that forms the focus of the present invention.
In accordance with the handshaking protocol standard, in order to determine whether a received frame is an intermediate frame in a segmented message or the last frame is a segmented message, the receiving unit must continually parse the incoming frames. If the message has not been fully transmitted, the receiving station requests transmission of the next segment. Once a frame has been received as an intermediate frame, there is now a need to store the state result of that frame, pending the next incoming frame.
Accordingly, there is a need in the art of multi-frame protocol messages for a system and method for simply, yet robustly parsing the entire message across multiple frames.